///*
// * CN_READY.cpp
// *
// *  Created on: 2013. 5. 21.
// *      Author: the2
// */
//
//
//#include "../../User.h"
//#include "CN_READY.h"
//
//#include "../../NLogic/Space.h"
//#include "../../NLogic/Party.h"
//#include "../../NLogic/Battle.h"
//#include "../../NLogic/Function.h"
//
//namespace ProjectZ { namespace NCommand { namespace NBattle {
//
//void CN_READY::OnExecute(User * pUser, ::Network::Packet * pPacket)
//{
//	PREPARE_PACKET;
//
//	uint32_t hp	= 0;
//	uint32_t sp = 0;
//
//	*pPacket >> hp >> sp;
//
//	pUser->GetBattle()->GetData().HP = hp;
//	pUser->GetBattle()->GetData().HP_MAX = hp;
//	pUser->GetBattle()->GetData().SP = sp;
//	pUser->GetBattle()->GetData().SP_MAX = sp;
//
//	pUser->GetBattle()->GetData().bReadyFight = true;
//
//	NLogic::Space * pSpace = pUser->GetSpace();
//
//	if (pSpace == NULL)
//	{
//		DEBUGLOG("CN_READY : pSpace is NULL!!");
//		return;
//	}
//
//	User * pOppUser	= NULL;
//
//	if (pSpace->GetData()._spaceType == NLogic::Space::SpaceType::PVP_USER)
//	{
//		NLogic::Party * pParty = pSpace->GetParty();
//
//		if (NULL == pParty)
//		{
//			DEBUGLOG("CN_READY : pParty is NULL!!");
//			return;
//		}
//
//		NLogic::Party::USERTREE::const_iterator citer = pParty->GetAllUserTree().begin();
//
//		for ( ; citer != pParty->GetAllUserTree().end(); citer++)
//		{
//			if (citer->second == pUser)
//				continue;
//
//			pOppUser = citer->second;
//			break;
//		}
//
//		if (NULL == pOppUser)
//		{
//			DEBUGLOG("CN_READY : pOppUser is NULL!!!");
//			return;
//		}
//
//		if (false == pOppUser->GetBattle()->GetData().bReadyFight)
//			return;
//	}
//
//	::Network::Packet * pNoti = ::Network::GETPACKETPOOL()->SEND_NEW();
//	pNoti->MakePacket(CMD_SN_FIGHT);
//	pUser->Send(pNoti);
//
//	pUser->SetEnumState(User::EnumState::PVP_BATTLE);
//
//	if (NULL != pOppUser)
//	{
//		// 상대가 전투중이라면 패킷을 보내지 않는다
//		if (pOppUser->GetEnumState() == User::EnumState::PVP_BATTLE)
//		{
//			// HP 보정
////			pUser->player_info.HP = pOppUser->GetBattle()->GetData()._pvpOppUser->player_info.HP;
//		}
//		else
//		{
//			::Network::Packet * pNoti = ::Network::GETPACKETPOOL()->SEND_NEW();
//			pNoti->MakePacket(CMD_SN_FIGHT);
//			pOppUser->Send(pNoti);
//		}
//	}
//
//	pSpace->GetData()._starttick	= NLogic::NFunction::GetTickCount();
//	pSpace->GetData()._finishtick	= 0;
//
//	if (pSpace->GetData()._spaceType == NLogic::Space::SpaceType::PVP_USER)
//		pSpace->GetParty()->SetState(NLogic::Party::State::PVP_BATTLE);
//}
//
//} /*NBattle*/ } /*NCommand*/ } /*ProjectZ*/
